#pragma once
/**
 * @author LIU YUAN
 * @date May 15, 2011 11:12:21 AM
 * @param <T>
 */
#include "Instruction.h"
#include <list>

using namespace std;
namespace upupc{
class Asm
{
public:
	Asm();
	~Asm(void);

	void 
	append(Instruction *ins);

	CHAR*
	parse(DWORD eip);

	DWORD
	size();

private:
	typedef list<Instruction*> InstructionList;
	InstructionList list;
	DWORD bufferSize;
	DWORD baseEip;
};

}
